function listarEpocas() {
    try {
        containerPrincipal.insert('listagem_recurso', 'epoca.html', null);
        containerPrincipal.select('listagem_recurso');
    } catch(e) {
        reportCrash(null, e.name, e.stack);
    }
}

function manutencaoEpoca(acao, cod_epoca) {
    try {
        $("#progress").show();
        var seculo;
        var ano;
        var mes;
        var dia;
        if (acao == 'cadastrar') {
            seculo = $("#seculo_cadastrar").val();
            var regexp_seculo = /[I]{1,}/; //verificar expressão pra validar século e validar na alteração tb
            if (seculo == '' && !regexp_seculo.test(seculo)) {
                showMessage(ERROR_MESSAGE, 'Século inválido!');
                return;
            }
            var regexp_ano = /\d{4}/;
            var regexp_mes_dia = /\d{2}/;
            ano = $("#ano_cadastrar").val();
            if (ano == '' || !regexp_ano.test(ano)) {
                showMessage(ERROR_MESSAGE, 'Ano inválido!');
                return;
            }
            mes = $("#mes_cadastrar").val();
            if (mes == '' || !regexp_mes_dia.test(mes)) {
                showMessage(ERROR_MESSAGE, 'Mês inválido!');
                return;
            }
            dia = $("#dia_cadastrar").val();
            if (dia == '' || !regexp_mes_dia.test(dia)) {
                showMessage(ERROR_MESSAGE, 'Dia inválido!');
                return;
            }
        }
        $.ajax({
            type: "POST",
            url : "../controllers/EpocaController.php",
            data : {
                cod_epoca : cod_epoca,
                seculo : seculo,
                ano : ano,
                mes : mes,
                dia : dia,
                acao : acao
            },
            success: function(msg){
                try {
                    $("#progress").hide();
                    if (msg.indexOf("Exception: ") != -1) {
                        msg = msg.replace("Exception: ", "");
                        showMessage(ERROR_MESSAGE, msg);
                        return;
                    }
                    if (acao == 'cadastrar') {
                        listarEpocas();
                    } else if (acao == 'excluir') {
                        var botao = $('#' +cod_epoca).children("td:first");
                        tabela_epoca.fnDeleteRow( tabela_epoca.fnGetPosition(botao[0])[0]);
                    }
                    $("#recurso").dialog('close');
                } catch(e) {
                    reportCrash(null, e.name, e.stack);
                }
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $("#progress").hide();
                reportCrash(XMLHttpRequest, textStatus, errorThrown);
            }
        });
    } catch(e) {
        reportCrash(null, e.name, e.stack);
    }
}